// ============================== 导入依赖 ============================== //

const COMMON_TABLE = {
  stripe: true,
}

const COMMON_PAGE = {
  'pager-count': 9,
  'page-sizes': [5, 10, 20, 30, 40, 50, 100],
  layout: 'total, prev, pager, next',
}

// ============================== 导出 WEB 表格 ============================== //

export default {
  // —————————————————————————————— 模块路径 —————————————————————————————— //

  path: { type: String, default: '' }, // 示例： '' 或 'major' 或 'major/minor'

  // —————————————————————————————— 数据属性 —————————————————————————————— //

  list: { type: Array, default: null }, // 列数据 (为空则取 path 模块的 state.list)
  noPage: { type: Boolean, default: false }, // 是否隐藏分页
  idKey: { type: String, default: 'id' }, // 主键的键名

  // —————————————————————————————— 高度，优先级递减 —————————————————————————————— //

  height: { type: [Number, String], default: null }, // 指定高度，如 500 '500px' '50%'

  auto: { type: Boolean, default: false }, // 是否为自动高度
  full: { type: Boolean, default: false }, // 是否为填满高度 (等价于 height: 100%)

  minHeight: { type: [Number, String], default: null }, // 最小高度 (同上)
  maxHeight: { type: [Number, String], default: null }, // 最大高度 (同上)
  minFull: { type: Boolean, default: false }, // 是否最小为填满高度 (等价于 min-height: 100%)
  maxFull: { type: Boolean, default: false }, // 是否最大为填满高度 (等价于 max-height: 100%)

  defaultHeight: { type: [Number, String], default: 'calc(100% - 0.56rem)' }, // 默认的高度 (减掉顶部)

  // —————————————————————————————— 尺寸属性 —————————————————————————————— //

  initSize: { type: String, default: 'medium' }, // 默认尺寸 (空/medium/small/mini)

  // —————————————————————————————— 原生属性 —————————————————————————————— //

  elProps: { type: Object, default: () => COMMON_TABLE }, // el-table 原生配置项
  elPageProps: { type: Object, default: () => COMMON_PAGE }, // el-page 分页原生配置项
}
